package com.platform.hjt.sys.model;

import java.sql.Timestamp;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

/**
 * SysCompanyInfo entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "sys_company_info")
public class SysCompanyInfo implements java.io.Serializable {

	// Fields

	/**
	 * 
	 */
	private static final long serialVersionUID = -3286137729333847719L;
	private String sysCompanyInfoId;
	@NotBlank(message="公司名称不能为空")
	@Length(max=100, message="名称长度不能超过100个字")
	private String companyName;
	@NotBlank(message="公司编码不能为空")
	@Length(max=50, message="编码长度不能超过50个字")
	private String companyCode;
	@Length(max=500, message="公司地址长度不能超过500个字")
	private String companyAddress;
	@NotBlank(message="联系人不能为空")
	@Length(max=50, message="联系人长度不能超过50个字")
	private String companyLinkman;
	@NotBlank(message="联系号码不能为空")
	@Length(max=50, message="联系号码长度不能超过50个字")
	private String companyPhone;
	private String packageType;
	private Date startTime;
	private Date deadTime;
	private Integer sortIndex;
	private Boolean isDel;
	private Timestamp createTime;
	
	private String orderProcessId;
	
	private String sysModelIds;

	// Constructors

	/** default constructor */
	public SysCompanyInfo() {
	}

	/** minimal constructor */
	public SysCompanyInfo(String sysCompanyInfoId) {
		this.sysCompanyInfoId = sysCompanyInfoId;
	}

	/** full constructor */
	public SysCompanyInfo(String sysCompanyInfoId, String companyName,
			String companyCode, String companyAddress, String companyLinkman,
			String companyPhone, String packageType, Date startTime,
			Date deadTime, Integer sortIndex, Boolean isDel,
			Timestamp createTime) {
		this.sysCompanyInfoId = sysCompanyInfoId;
		this.companyName = companyName;
		this.companyCode = companyCode;
		this.companyAddress = companyAddress;
		this.companyLinkman = companyLinkman;
		this.companyPhone = companyPhone;
		this.packageType = packageType;
		this.startTime = startTime;
		this.deadTime = deadTime;
		this.sortIndex = sortIndex;
		this.isDel = isDel;
		this.createTime = createTime;
	}

	// Property accessors
	@Id
	@GenericGenerator(name="systemUUID",strategy="uuid")
	@GeneratedValue(generator="systemUUID")
	@Column(name = "sys_company_info_id", unique = true, nullable = false, length = 32)
	public String getSysCompanyInfoId() {
		return this.sysCompanyInfoId;
	}

	public void setSysCompanyInfoId(String sysCompanyInfoId) {
		this.sysCompanyInfoId = sysCompanyInfoId;
	}

	@Column(name = "company_name", length = 100)
	public String getCompanyName() {
		return this.companyName;
	}

	public void setCompanyName(String companyName) {
		this.companyName = companyName;
	}

	@Column(name = "company_code", length = 50)
	public String getCompanyCode() {
		return this.companyCode;
	}

	public void setCompanyCode(String companyCode) {
		this.companyCode = companyCode;
	}

	@Column(name = "company_address", length = 500)
	public String getCompanyAddress() {
		return this.companyAddress;
	}

	public void setCompanyAddress(String companyAddress) {
		this.companyAddress = companyAddress;
	}

	@Column(name = "company_linkman", length = 50)
	public String getCompanyLinkman() {
		return this.companyLinkman;
	}

	public void setCompanyLinkman(String companyLinkman) {
		this.companyLinkman = companyLinkman;
	}

	@Column(name = "company_phone", length = 50)
	public String getCompanyPhone() {
		return this.companyPhone;
	}

	public void setCompanyPhone(String companyPhone) {
		this.companyPhone = companyPhone;
	}

	@Column(name = "package_type", length = 1)
	public String getPackageType() {
		return this.packageType;
	}

	public void setPackageType(String packageType) {
		this.packageType = packageType;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "start_time", length = 10)
	public Date getStartTime() {
		return this.startTime;
	}

	public void setStartTime(Date startTime) {
		this.startTime = startTime;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "dead_time", length = 10)
	public Date getDeadTime() {
		return this.deadTime;
	}

	public void setDeadTime(Date deadTime) {
		this.deadTime = deadTime;
	}

	@Column(name = "sort_index")
	public Integer getSortIndex() {
		return this.sortIndex;
	}

	public void setSortIndex(Integer sortIndex) {
		this.sortIndex = sortIndex;
	}

	@Column(name = "is_del")
	public Boolean getIsDel() {
		return this.isDel;
	}

	public void setIsDel(Boolean isDel) {
		this.isDel = isDel;
	}

	@Column(name = "create_time", length = 19)
	public Timestamp getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Timestamp createTime) {
		this.createTime = createTime;
	}

	@Column(name = "order_process_id")
	public String getOrderProcessId() {
		return orderProcessId;
	}

	public void setOrderProcessId(String orderProcessId) {
		this.orderProcessId = orderProcessId;
	}

	@Transient
	public String getSysModelIds() {
		return sysModelIds;
	}

	public void setSysModelIds(String sysModelIds) {
		this.sysModelIds = sysModelIds;
	}

}